package com.xgk.boot.module.core.controller.admin.customer.vo;

import com.xgk.boot.framework.common.enums.CommonStatusEnum;
import com.xgk.boot.module.core.enums.biz.CurrencyEnum;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 注册用户公司表实体类
 * 对应数据库表：customer
 */
@Data
public class CustomerVO {
    /**
     * 主键ID
     */
    private Long id;

    /**
     * 公司代码
     */

    private String customerCode;

    /**
     * 公司名称
     */
    private String customerName;

    /**
     * 公司简称
     */
    private String customerShortName;

    /**
     * 客户状态：0-未注册完成;1-已注册完成;2-未通过审核;3-已通过审核;4-停用
     */
    private Integer customerStatus;

    /**
     * 客户类型：1-普通;2-代理
     */
    private Integer customerType;

    /**
     * 客户余额小于此值则提示
     */
    private BigDecimal customerMinBalance;

    /**
     * 结算币种，默认CNY
     * {@link  CurrencyEnum}
     */
    private String customerCurrency;

    /**
     * 结算比例，默认1.000
     */
    private Float customerRatio;

    /**
     * 最后帐单日期
     */
    private Date customerBillDate;

    /**
     * 结算类型：1-预付;2-到付
     */
    private Integer customerCashType;

    /**
     * 客户等级
     */
    private String customerLevel;

    /**
     * 公司地址省
     */
    private String customerProvince;

    /**
     * 公司地址城市
     */
    private String customerCity;

    /**
     * 公司地址区
     */
    private String customerArea;

    /**
     * 公司地址
     */
    private String customerAddress;

    /**
     * 公司网址
     */
    private String customerDomain;

    /**
     * 移动电话
     */
    private String customerPhone;

    /**
     * 电话
     */
    private String customerTelephone;

    /**
     * Email
     */
    private String customerEmail;

    /**
     * 统一社会信用代码
     */
    private String customerCreditCode;

    /**
     * 经营单位名称
     */
    private String customerTradeName;

    /**
     * 经营单位编码
     */
    private String customerTradeCode;

    /**
     * 法人
     */
    private String legalPerson;

    /**
     * 客户logoUrl
     */
    private String customerLogo;

    /**
     * token
     */
    private String appToken;

    /**
     * key
     */
    private String appKey;


    /**
     * 审核时间
     */
    private Date customerAuditTime;

    /**
     * 有效期开始
     */
    private Date validPeriodDateFor;

    /**
     * 有效期截止
     */
    private Date validPeriodDateTo;

    /**
     * 结算周期：1-周结;2-半月结算;3-月结
     */
    private Integer customerBillingCycle;

    /**
     * 营业执照
     */
    private String businessLicense;


    /**
     * 是否开启低余额预警：0-开启;1-关闭
     * 枚举 {@link CommonStatusEnum}
     */
    private Integer lowBalanceWarning;

    /**
     * 已冻结金额
     */
    private BigDecimal frozenAmount;

//    /**
//     * 客户归属：1-美正;2-山凯
//     */
//    @TableField("customer_ascription")
//    private Integer customerAscription;

    /**
     * 取消返回额度的时间(天)
     */
    private Integer cancelDate;

    /**
     * 取消类型：0-限时返回;1-实时返回
     */
    private Integer cancelType;

    /**
     * 回调地址
     */
    private String appWebhook;

    /**
     * 站点标题
     */
    private String siteTitle;

    /**
     * 账单取消返回期数
     */
    private Integer bilCancelDate;

    /**
     * 罚金
     */
    private Integer bilForfeit;

}